// ============================== 导入依赖 ============================== //

// ============================== 导出表单滑块 ============================== //

export const dataProps = {
  min: { type: Number, default: 0 }, // 最小数字
  max: { type: Number, default: 100 }, // 最大数字
  initMin: { type: Boolean, default: false }, // 是否默认为最小数字
  initMax: { type: Boolean, default: false }, // 是否默认为最大数字
  step: { type: Number, default: 1 }, // 步长 (可小数)
  string: { type: Boolean, default: false }, // 是否为字符串类型的数字
}

export const sliderProps = {
  marks: { type: Object, default: null }, // 标记设置，key 必须为 number 且 [min, max] 内
  showStops: { type: Boolean, default: false }, // 是否显示断点
  noTip: { type: Boolean, default: false }, // 是否隐藏提示
  transTip: { type: Function, default: null }, // 转换提示的方法 formatTooltip = (num) => 'text'
  vertical: { type: Boolean, default: false }, // 是否竖向模式
  height: { type: String, default: '100px' }, // 竖向模式的高度
}

export default {
  // —————————————————————————————— 公共覆盖 —————————————————————————————— //

  bind: { type: String, default: 'slider' }, // 绑定键名，触发 @change 事件

  // —————————————————————————————— 数据属性 —————————————————————————————— //

  ...dataProps,

  // —————————————————————————————— 滑块属性 —————————————————————————————— //

  ...sliderProps,

  // —————————————————————————————— 私有属性 —————————————————————————————— //

  showInput: { type: Boolean, default: false }, // 是否显示输入框
  noInputBtn: { type: Boolean, default: false }, // 是否隐藏输入框的按钮
}
